Programmable logic switches are used in field programmable gate arrays (FPGAs) in which logical operation circuits and wiring circuits are reconfigurable. The programmable logic switch has a memory, and turns on/off according to data retained in the memory. As the memory, a volatile memory (e.g., a static random access memory) may be used. However, when such volatile memory is used, it is necessary to write data to the memory everytime the device is activated.
Thus, a nonvolatile memory may be used as the memory of the programmable logic switch. In such programmable logic switch, e.g., each cell includes two nonvolatile memory transistors, and one switching transistor (pass transistor). In order to write data to the nonvolatile memory transistor, e.g., a Fowler-Nordheim (FN) tunneling or a hot-carrier injection is employed. However, whichever the FN tunneling and the hot-carrier injection is employed, the gate insulating film of the pass transistor may be destroyed when writing data to the nonvolatile memory transistor.